package com.collect.zambia.zhiDi.zhiComponent;

import android.app.Activity;
import android.content.Context;

import com.collect.zambia.zhiDi.zhiModule.ActivityModule;
import com.collect.zambia.zhiDi.zhiScope.ContextLife;
import com.collect.zambia.zhiDi.zhiScope.PerActivity;
import com.collect.zambia.zhiScene.v2.zhiPerfermanceV2.ZHIPerfermanceActivityV2;
import com.collect.zambia.zhiScene.zhiAuditer.zhiPerformance.detail.ZHIAuditerPerfermanceDetailActivity;
import com.collect.zambia.zhiScene.zhiCheckIn.ZHICheckInActivity;
import com.collect.zambia.zhiScene.zhiCheckIn.ZHICheckInHistoryActivity;
import com.collect.zambia.zhiScene.zhiCheckIn.ZHICheckInWifiActivity;
import com.collect.zambia.zhiScene.zhiCollection.zhiDetail.ZHIDetailActivity;
import com.collect.zambia.zhiScene.zhiCollection.zhiGroup.zhiPerformance.ZHIPerformanceGroupAmountActivity;
import com.collect.zambia.zhiScene.zhiCollection.zhiGroup.zhiPerformance.ZHIPerformanceGroupOrderActivity;
import com.collect.zambia.zhiScene.zhiCollection.zhiGroup.zhiPerformance.zhiB1.zhiHistory.ZHIPerformanceHistoryB1Activity;
import com.collect.zambia.zhiScene.zhiCollection.zhiGroup.zhiPerformance.zhiB2.zhiHistory.ZHIPerformanceHistoryB2Activity;
import com.collect.zambia.zhiScene.zhiCollection.zhiGroup.zhiPerformance.zhiDetail.ZHIPerformanceGroupDetailActivity;
import com.collect.zambia.zhiScene.zhiCollection.zhiGroup.zhiPerformance.zhiHistory.ZHIPerformanceGroupAmountHistoryActivity;
import com.collect.zambia.zhiScene.zhiCollection.zhiGroup.zhiPerformance.zhiHistory.ZHIPerformanceGroupOrderHistoryActivity;
import com.collect.zambia.zhiScene.zhiCollection.zhiGroup.zhiPerformance.zhiRealTime.ZHIPerformanceGroupRealTimeActivity;
import com.collect.zambia.zhiScene.zhiCollection.zhiMember.zhiPerformance.ZHIPerformanceMemberActivity;
import com.collect.zambia.zhiScene.zhiDs.zhiFollow.zhiHistory.ZHIDsFollowHistoryActivity;
import com.collect.zambia.zhiScene.zhiLogin.ZHILoginActivity;
import com.collect.zambia.zhiScene.zhiLogin.ZHILoginResetPasswordActivity;
import com.collect.zambia.zhiScene.zhiLogin.zhiFace.ZHIFaceActivity;
import com.collect.zambia.zhiScene.zhiPublic.ZHISplashActivity;
import com.collect.zambia.zhiScene.zhiRemind.zhiCustomer.zhiAdmin.zhiPerformance.ZHICustomerPerformanceAdminOldActivity;
import com.collect.zambia.zhiScene.zhiRemind.zhiCustomer.zhiAdmin.zhiPerformance.zhiDetail.ZHICustomerPerformanceAdminDetailActivity;
import com.collect.zambia.zhiScene.zhiRemind.zhiCustomer.zhiAdmin.zhiPerformance.zhiHistory.ZHICustomerPerformanceHistoryAdminActivity;
import com.collect.zambia.zhiScene.zhiRemind.zhiCustomer.zhiMember.zhiPerformance.ZHICustomerPerformanceOldActivity;
import com.collect.zambia.zhiScene.zhiRemind.zhiCustomer.zhiMember.zhiPerformance.zhiHistory.ZHICustomerPerformanceHistoryActivity;
import com.collect.zambia.zhiScene.zhiScriptLib.ZHIScriptLibActivity;
import com.collect.zambia.zhiScene.zhiTelemarketing.zhiPerformance.zhiHistory.ZHIPerformanceTelemarketingHistoryActivity;
import com.collect.zambia.zhiScene.zhiWords.ZHIWordsActivity;

import dagger.Component;


@PerActivity
@Component(dependencies = ApplicationComponent.class, modules = ActivityModule.class)
public interface ActivityComponent {

    @ContextLife("Activity")
    Context getActivityContext();

    @ContextLife("Application")
    Context getApplicationContext();

    Activity getActivity();

    void inject(ZHISplashActivity activity);
    void inject(ZHILoginActivity activity);
    void inject(ZHIDetailActivity activity);
    void inject(ZHIScriptLibActivity activity);

    void inject(ZHIPerfermanceActivityV2 activity);
    void inject(ZHICustomerPerformanceHistoryActivity activity);

    void inject(ZHIWordsActivity activity);
    void inject(ZHIPerformanceGroupOrderHistoryActivity activity);
    void inject(ZHIPerformanceGroupAmountHistoryActivity activity);

    void inject(ZHIPerformanceTelemarketingHistoryActivity activity);
    void inject(ZHIPerformanceGroupRealTimeActivity activity);

    void inject(ZHICustomerPerformanceHistoryAdminActivity activity);

    void inject(ZHILoginResetPasswordActivity activity);
    void inject(ZHICustomerPerformanceOldActivity activity);
    void inject(ZHICustomerPerformanceAdminOldActivity activity);

    void inject(ZHIFaceActivity activity);

    void inject(ZHIPerformanceGroupAmountActivity activity);
    void inject(ZHIPerformanceGroupOrderActivity activity);
    void inject(ZHIPerformanceMemberActivity activity);

    void inject(ZHICheckInActivity activity);
    void inject(ZHICheckInHistoryActivity activity);
    void inject(ZHIPerformanceHistoryB1Activity activity);
    void inject(ZHIPerformanceHistoryB2Activity activity);
    void inject(ZHICheckInWifiActivity activity);

    void inject(ZHIPerformanceGroupDetailActivity activity);
    void inject(ZHICustomerPerformanceAdminDetailActivity activity);

    void inject(ZHIDsFollowHistoryActivity activity);

    void inject(ZHIAuditerPerfermanceDetailActivity activity);

}
